Multicast is an efficient way of disseminating information and communicating over a network. With multicast, a single transmitting device can connect to multiple receiving devices and exchange information while conserving network bandwidth. Financial stock exchanges, multimedia content delivery networks, and commercial enterprises often use multicast as a communication mechanism. With virtualization technology, multicast efficiency can be further enhanced. For example, VMware virtualization enables multiple receiving virtual machines on a single host. In the case where the receiving virtual machines are on the same host, the physical network does not have to transfer multiple copies of the same packet. Packet replication may be carried out at the host, i.e., in the hypervisor, instead.
Multicast in a virtualized environment can be used for various application. As an example, VMware vSAN™, a storage virtualization technology, uses multicast groups to monitor a vSAN cluster's membership, check heartbeats between nodes, publish local services to a cluster directory, etc. However, enabling multicast in a virtualized environment may introduce limitations or problems in deployment and/or maintenance. For VSAN, a customer needs to configure Internet Group Management Protocol (IGMP) snooping in customer's physical switch side. In addition, if the customer's environment crosses a router, the customer needs to also configure multicast route protocol, such as Protocol Independent Multicast (PIM). However, but most customers do not want to configure PIM since such configuration for PIM may introduce some vulnerability issues with respect to security. Furthermore, the extra configuration for IGMP snooping on the physical switch may also introduce maintenance complexity for many network partition cases, which are due to IGMP snooping configuration errors on the physical switch side.